﻿using System.ComponentModel.DataAnnotations;

namespace EMC.VISITOR.Application;

/// <summary>
/// 人臉門禁出入記錄基础输入参数
/// </summary>
public partial class DoorInOutRecordBaseInput
{
    /// <summary>
    /// 人員唯一編碼
    /// </summary>
    public virtual string? personId { get; set; }

    /// <summary>
    /// 訪客名稱
    /// </summary>
    public virtual string? personName { get; set; }

    /// <summary>
    /// 證件號碼
    /// </summary>
    public virtual string? certNo { get; set; }

    /// <summary>
    /// 門禁點名稱
    /// </summary>
    public virtual string? doorName { get; set; }

    /// <summary>
    /// 進出時間
    /// </summary>
    public virtual DateTime? eventTimeOk { get; set; }

    /// <summary>
    /// 事件類型名稱
    /// </summary>
    public virtual string? eventTypeName { get; set; }

    /// <summary>
    /// 卡號
    /// </summary>
    public virtual string? cardNo { get; set; }

    /// <summary>
    /// 讀卡器名稱
    /// </summary>
    public virtual string? readerDevName { get; set; }

    /// <summary>
    /// 事件ID
    /// </summary>
    public virtual string? eventId { get; set; }

    /// <summary>
    /// 事件名稱
    /// </summary>
    public virtual string? eventName { get; set; }

    /// <summary>
    /// 事件產生時間
    /// </summary>
    public virtual string? eventTime { get; set; }

    /// <summary>
    /// 人員所屬組織編碼
    /// </summary>
    public virtual string? orgIndexCode { get; set; }

    /// <summary>
    /// 人員所屬組織名稱
    /// </summary>
    public virtual string? orgName { get; set; }

    /// <summary>
    /// 門禁點編碼
    /// </summary>
    public virtual string? doorIndexCode { get; set; }

    /// <summary>
    /// 門禁點所在區域編碼
    /// </summary>
    public virtual string? doorRegionIndexCode { get; set; }

    /// <summary>
    /// 抓拍圖片地址
    /// </summary>
    public virtual string? picUri { get; set; }

    /// <summary>
    /// 圖片存儲服務的唯一標識
    /// </summary>
    public virtual string? svrIndexCode { get; set; }

    /// <summary>
    /// 事件類型
    /// </summary>
    public virtual long? eventType { get; set; }

    /// <summary>
    /// 進出類型
    /// </summary>
    public virtual long? inAndOutType { get; set; }

    /// <summary>
    /// 讀卡器IndexCode
    /// </summary>
    public virtual string? readerDevIndexCode { get; set; }

    /// <summary>
    /// 控制器設備IndexCode
    /// </summary>
    public virtual string? devIndexCode { get; set; }

    /// <summary>
    /// 所屬門禁
    /// </summary>
    public virtual string? devName { get; set; }

    /// <summary>
    /// 身份證圖片uri
    /// </summary>
    public virtual string? identityCardUri { get; set; }

    /// <summary>
    /// 事件入庫時間
    /// </summary>
    public virtual string? receiveTime { get; set; }

    /// <summary>
    /// 工號
    /// </summary>
    public virtual string? jobNo { get; set; }

}

/// <summary>
/// 人臉門禁出入記錄分页查询输入参数
/// </summary>
public partial class DoorInOutRecordInput : BasePageInput
{
    /// <summary>
    /// 关键字查询
    /// </summary>
    public string SearchKey { get; set; }

    /// <summary>
    /// 人員唯一編碼
    /// </summary>
    public string? personId { get; set; }

    /// <summary>
    /// 訪客名稱
    /// </summary>
    public string? personName { get; set; }

    /// <summary>
    /// 證件號碼
    /// </summary>
    public string? certNo { get; set; }

    /// <summary>
    /// 門禁點名稱
    /// </summary>
    public string? doorName { get; set; }

    /// <summary>
    /// 進出時間
    /// </summary>
    public DateTime? eventTimeOk { get; set; }

    /// <summary>
    /// 進出時間范围
    /// </summary>
    public List<DateTime?> eventTimeOkRange { get; set; }
    /// <summary>
    /// 事件類型名稱
    /// </summary>
    public string? eventTypeName { get; set; }

    /// <summary>
    /// 卡號
    /// </summary>
    public string? cardNo { get; set; }

    public string VCompany { get; set; }
    public VisitorType? Type { get; set; }
}

/// <summary>
/// 人臉門禁出入記錄增加输入参数
/// </summary>
public partial class AddDoorInOutRecordInput : DoorInOutRecordBaseInput
{
}

/// <summary>
/// 人臉門禁出入記錄删除输入参数
/// </summary>
public partial class DeleteDoorInOutRecordInput : BaseIdInput
{
}

/// <summary>
/// 人臉門禁出入記錄更新输入参数
/// </summary>
public partial class UpdateDoorInOutRecordInput : DoorInOutRecordBaseInput
{
    /// <summary>
    /// Id
    /// </summary>
    [Required(ErrorMessage = "Id不能为空")]
    public long? Id { get; set; }

}

/// <summary>
/// 人臉門禁出入記錄主键查询输入参数
/// </summary>
public partial class QueryByIdDoorInOutRecordInput : DeleteDoorInOutRecordInput
{

}
